//package com.fundodoo.sfe.admin.controller;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.Iterator;
//import java.util.List;
//import java.util.Map;
//import java.util.stream.Collectors;
//
//import org.apache.commons.collections.CollectionUtils;
//import org.apache.shiro.authz.annotation.RequiresPermissions;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import com.tpv.vc.common.annotation.Log;
//import com.tpv.vc.common.controller.BaseController;
//import com.tpv.vc.common.domain.PermissionInfo;
//import com.tpv.vc.common.domain.QueryRequest;
//import com.tpv.vc.common.domain.ResponseBo;
//import com.tpv.vc.system.domain.Dept;
//import com.tpv.vc.system.domain.User;
//import com.tpv.vc.system.domain.UserOnline;
//import com.tpv.vc.system.service.DeptService;
//import com.tpv.vc.system.service.SessionService;
//import com.tpv.vc.system.service.UserService;
//import com.tpv.vc.utils.StringUtil;
//
//
//@Controller
//public class SessionController extends BaseController{
//
//    private Logger log = LoggerFactory.getLogger(this.getClass());
//
//    @Autowired
//    SessionService sessionService;
//    
//    @Autowired
//    private UserService userService;
//    
//    @Autowired
//    private DeptService deptService;
//
//    @Log("获取在线用户信息")
//    @RequestMapping("session")
//    @RequiresPermissions("session:list")
//    public String online() {
//        return "system/monitor/online";
//    }
//
//    /**
//     * 对list添加分页
//     * @author jm.hong at 20181221
//     * @param pageSize
//     * @param pageNum
//     * @return
//     */
//    @ResponseBody
//    @RequestMapping("session/list")
//    @RequiresPermissions("session:list")
//    public Map<String, Object> list(int pageSize,int pageNum) {
//    	//modify by jm.hong at 20181229 添加权限过滤，只显示自己和下级用户 (业务来自新锋20181229)
//    	User user = super.getCurrentUser();
//    	QueryRequest request = new QueryRequest();
//    	request.setPageNum(pageNum);
//    	request.setPageSize(pageSize);
//    	user.setUsername(null);
//    	user.setSsex(null);
//    	
//    	Dept dept = new Dept();
//		dept.setParentId(user.getDeptId());
//    	dept.setSelf("0");
//		List<Dept> deptIds = this.deptService.findAllDepts(dept);
//		user.setDeptIds(deptIds.stream().map(Dept::getDeptId).collect(Collectors.toList()));
//    	List<User> userList = this.userService.findUserWithDept(user, request);
//    	List<User> userTempList = new ArrayList<User>(userList.size());
//    	userTempList.add(user);
//    	for (int i = 0; i < userList.size(); i++) {
//    		User userTemp = userList.get(i);
//    		//添加子级用户
//    		if(!userTemp.getDeptId().equals(user.getDeptId())) {
//    			userTempList.add(userTemp);
//    		}
//		}
//        List<UserOnline> list = sessionService.list();
//		List<UserOnline> resultList = new ArrayList<UserOnline>();
//        for(UserOnline userOnline:list) {
//        	String userId = userOnline.getUserId();
//        	for(User user_:userTempList) {
//        		if(user_.getUserId().toString().equals(userId)) {
//        			resultList.add(userOnline);
//        		}
//        	}
//        }
//        Map<String, Object> rspData = new HashMap<String, Object>();
//        rspData.put("rows", StringUtil.datepaging(resultList,pageNum,pageSize));
//        rspData.put("total", resultList.size());
//        return rspData;
//    }
//
//    @ResponseBody
//    @RequiresPermissions("user:kickout")
//    @RequestMapping("session/forceLogout")
//    public ResponseBo forceLogout(String id) {
//        try {
//            sessionService.forceLogout(id);
//            return ResponseBo.ok();
//        } catch (Exception e) {
//            log.error("踢出用户失败", e);
//            return ResponseBo.error("踢出用户失败");
//        }
//
//    }
//}
